package web.common.core.security;

/**
 * 密码编码器
 *
 * @author Jin Zheng
 * @since 2022-01-19
 */
public interface PasswordEncoder {

	String BRACE_START = "{";

	String BRACE_END = "}";

	String RANDOM_SPLIT = "$";


	/**
	 * 密码编码
	 *
	 * @param origin 原始密码
	 * @return 编码过的密码
	 */
	String encode(String origin);

	/**
	 * 密码匹配
	 *
	 * @param origin  原始密码
	 * @param encoded 编码过的密码
	 * @return 匹配成功返回 true
	 */
	boolean matches(String origin, String encoded);

}

